草庐IT

JavaFX 在野外?

全部标签

java - 如何将 JavaFX 节点导出为 SVG 图像?

换句话说,我正在尝试用JavaFX做一些事情,比如BatikallowsyoutodowithSwing.。我希望能够在我的JavaFXUI中捕获任意节点的外观,很像Node.snapshot()确实如此,除了我需要像SVG这样的vector格式的图像,而不是光栅图像。(将我的节点的光栅快照插入SVG图像还不够好;它需要是合适的、可缩放的vector图像。)这是一个长期项目,所以我什至愿意去实现我自己的GraphicsContext,或JavaFX的保留模式API中的任何等效项。有谁知道有没有办法做到这一点?我希望在JavaFX中实现什么? 最佳答案

JavaFX 8 - Tabpanes 和选项卡,每个选项卡都有单独的 FXML 和 Controller

我希望得到一些关于在选项卡Pane中为每个选项卡添加fx:include语句的答案。我已经设法轻松地获取内容来显示,但是无论我如何构造它,相关Controller类的引用方法只会给我一个nullpointerreference异常。包含的FXML布局的Controller既没有构造函数也没有initialize()方法,是否需要它们?我尝试了一些不同的东西,但总是遇到相同的异常。我所做的只是向选项卡Pane添加一个更改监听器,当按下选项卡时,我想用从全局可访问的数组列表中获取的一些值填充一些文本字段。注意:arraylist不是问题,使用主Controller执行此操作工作正常。我将很

java - 为什么我的 JavaFX 应用程序启动如此缓慢?

我的JavaFX应用程序总是比Swing应用程序启动慢得多。比小型应用程序可接受的慢得多。这是“正常”还是我必须在某处进行更改?编辑:我听说一些代理问题可能会影响JavaFX应用程序的启动时间,但我不确定如何调试它。 最佳答案 根据您的评论,我发现缓慢问题是由autoproxyconfiguration引起的.NetBeans7.4有一个选项可以解决这个问题。那是一个新的选择。我认为它不存在于NetBeans7.3中。检查生成的jar,选项JavaFX-Feature-Proxy:None被添加到MANIFEST.MF*Runthe

java - 如何将参数传递给 JavaFX 应用程序?

我正在像这样运行我的JavaFX应用程序:publicclassMainEntry{publicstaticvoidmain(String[]args){Controllercontroller=newController();Application.launch(MainStage.class);}}MainStage类扩展了Appication。Application.launch在一个特殊的FX线程中启动我的JavaFX窗口,但在我的main方法中我什至没有我的MainStage类的实例。如何将非字符串参数(在我的例子中是controller)传递给MainStage实例?这是一

JavaFX : How to connect two Nodes by a Line?

我想用一条线(从第一个节点的中心到第二个节点的中心)连接两个节点。初步想法:假设两个节点都存在于场景图中的某处Line充当装饰器,不应该是可拾取的如果NodeBounds改变,Line应该更新看来我需要一些复合属性绑定(bind),包括适当的坐标空间转换。如何实现?谁能指出方向? 最佳答案 此响应中的代码基于问题的答案:CubicCurveJavaFX下面的示例:假设所有涉及的节点都是兄弟节点。通过调用setMouseTransparent(true)确保连接线不可拾取上线。在拖动anchor节点时自动更新线以连接两个anchor节

java - 使用 GSON 序列化 JavaFX 模型

我目前正在学习一个教程来帮助我了解JavaFX的工作原理,并且在教程中他们正在构建一个小应用程序来管理人们的信息。本教程还使用XML进行加载/保存,但我不想使用XML,而是想使用JSON。我有一个使用StringProperty、IntegerProperty和ObjectProperty的Person模型。我的问题是,我不确定加载和保存它的最佳方式是什么而不保存不必要的字段并且加载时Gson不会抛出错误。人importjava.time.LocalDate;importjavafx.beans.property.IntegerProperty;importjavafx.beans.p

JavaFX 菜单 - 首字母、下划线装饰

遵循UI标准:如果应用程序菜单项(在顶部菜单栏上)打开一个下拉菜单,它必须被装饰为如下所示:第一个字母具有“text-decoration:underline”属性。但是根据这个http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html我不能在javafx应用程序中那样做。有什么建议吗? 最佳答案 助记法背景您在图像中指向的是keyboardmnemonic.JavaFX确实支持助记符,但您只会在native使用助记符的平台上以及您已将应用程序编程为使

JavaFX 滚动表更新性能随时间降低

我有一个TableView,它显示最后N个项目,顶部的新项目,从底部删除的项目等等......似乎正在发生的事情是CPU负载随着时间的推移而增加,以至于同一台机器上的其他X应用程序变得缓慢。平台详情:Redhat6.7,32位,Java1.8u40我尝试过的事情引入runLater()-原始代码从非FX线程更新了可观察列表-显然这是错误的优化-如果尚未进行更新,则仅在JavaFX应用程序线程上放置新的Runnable优化-批量更新Observable列表而不是单独添加使用jvisualVM来识别任何内存泄漏,找不到任何东西。我试过重现这个Windows7(在金属上)-JDK8u4064

java - 克隆 JavaFX 节点?

我已经在J​​avaFX场景构建器中创建了一个Node(AnchorPane),并且想知道如何克隆它。我看到了Duplicate/CloneNodeinJavaFX2.0但我需要在不重新加载fxml的情况下克隆Node。有什么方法可以在JavaFX2中实现这一点? 最佳答案 您可以将需要复制的组件放在单独的.fxml中文件。然后您可以根据需要多次加载单独的文件,将节点添加到主场景中的适当根目录。此外,您还可以编辑元素到主.fxml文件并包含单独的.fxml文件。然后您仍然可以在JavaFXBuilder中使用它。

java - ProGuard 破坏 JavaFX 应用程序

我试图混淆我的JavaFX应用程序,但它失败了。生成的结果不起作用,我不明白为什么。生成的jar会失败,因为fxml文件无法再加载所有导入(ClassNotFoundException)。部署工作流:构建可运行的jar(在IntelliJ中被称为工件)用ProGuard混淆那个jar修复该jar中ProGuard无法执行的一些问题1)最小的示例应用程序示例应用程序“GuardTest”是一个由3个类组成的IntelliJ项目。sample.Main:包含应用程序入口点并加载GUIfxml文件“sample.fxml”sample.Controller:“sample.fxml”的Con